home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / MEDICAL / 2608A.ZIP / GP.ZIP / MEMO22.SRC < prev    next >
Text File  |  1990-11-03  |  7KB  |  333 lines

  1. ;\|
  2. ;MEMO22.SRC     Translated from MEMO22.EDT by Roger Mathew's EDT2SRC Ver 4.11
  3. ;NEW      03:01:54 PM  21/ 7/90
  4.     define(CTR|N|1||)
  5.     define(CTR2|N|1||)
  6.     define(CTR3|N|1||)
  7.     define(TD|S|8||)
  8.     define(PROC4|A|1||)
  9.     define(REF_CTR|N|2||)
  10.     define(MEM_DOC2|N|1||)
  11.     define(CON_CTR|N|2||)
  12.     define(EXTRAS|N|3||)
  13.     define(CON_NUM|N|3||)
  14.     define(CLIN_NUM|N|3||)
  15.     define(EMERG_NUM|N|3||)
  16.     define(ISIT_EMER|A|1||)
  17.     define(MEM_DOC|A|1||)
  18.     define(NY|A|1||)
  19.     date(TD|G)
  20. OPEN_FILES:
  21.     open(PATIENT||0|EXIT)
  22.     open(REFER||0|EXIT)
  23.     open(PROCEDE||1|EXIT)
  24.     open(MEMORY||0|EXIT)
  25.     open(GPSETUP||0|EXIT)
  26.     trap(S|G|SAVE_RECS)
  27.     trap(D|G|DEL_RECS)
  28.     trap(C|G|CLR_RECS)
  29.     trap(Q|G|EXIT)
  30.     trap(L|G|START)
  31. MOUNT_SCRS:
  32.     mount(NEW|S||)
  33.     find(B|MEM_NAME||)
  34.     PATIENT.NAME = (MEM_NAME)
  35.     find(M|PATIENT.NAME|START|)
  36.     PROC_REF = (RECORD.NUMBER)
  37.     find(M|PROC_REF|START|)
  38. START:
  39. PAT.NAME:
  40.     enter(PATIENT.NAME||||Y|Y|N|||N)
  41.     find(G|PATIENT.NAME|START|)
  42.     PROC_REF = (RECORD.NUMBER)
  43.     find(M|PROC_REF|START2CL|)
  44.     NY = ("")
  45.     pmsg("DO YOU WANT TO UPDATE THE MEMOS FIRST:"|10|22|N|N|S|)
  46.     enter(NY|"YN"|||Y|Y|N|50|22|N)
  47.     if NY = ("Y") goto UPMEMO
  48.     clrlne(1|22)
  49. START2:
  50.     gosub LINE
  51.     if CTR2 = (0) then CTR2 = (1)
  52. SATRT3:
  53.     MEM_DOC = ("")
  54.     for(CTR|CTR2|6|1)
  55.         {
  56.         PROC_DATE[CTR] = (TD)
  57.         PROC_UP = (TD)
  58.         enter(PROC_DATE[CTR]|||SATRT3|N|N|N|||N)
  59.         enter(PROC[CTR]||||Y|Y|N|||N)
  60.         enter(PROC_DOC[CTR]|"12345"|||Y|Y|N|||N)
  61.         MEM_DOC = (PROC_DOC[CTR])
  62.         enter(PROC_OP[CTR]||||Y|Y|N|||N)
  63.         if PROC_OP[CTR] = ("") reent
  64.         if PROC_EX[CTR] = ("") do
  65.             {
  66.             PROC_REF = (RECORD.NUMBER)
  67.             PROC4 =mid(PROC[CTR]|1|1|)
  68.             if PROC4 = ("*") do
  69.                 {
  70.                 PROC_EX[CTR] = ("X")
  71.                 gosub STARTAGAIN
  72.                 save(PROCEDE|N|N)
  73.                 find(M|PROC_REF||)
  74.                 }
  75.             enter(PROC_DONE[1]|" YNSCRO"|||Y|Y|N|||N)
  76.             enter(PROC_DONE[2]|" YNSCRO"|||Y|Y|N|||N)
  77.             enter(PROC_DONE[3]|" YNSCRO"|||Y|Y|N|||N)
  78.             enter(PROC_DONE[4]|" YNSCRO"|||Y|Y|N|||N)
  79.             enter(PROC_DONE[5]|" YNSCRO"|||Y|Y|N|||N)
  80.             enter(PROC_DONE[6]|" YNSCRO"|||Y|Y|N|||N)
  81.             }
  82.         }
  83.     gosub LINE
  84.     for(CTR|1|6|1)
  85.         {
  86.         if PROC[CTR] = ("") then PROC_DATE[CTR] = (0)
  87.         }
  88.     goto SATRT3
  89. SAVE_RECS:
  90.     for(CTR|1|6|1)
  91.         {
  92.         if PROC[1] = ("") do
  93.             {
  94.             clr(PROCEDE|B)
  95.             goto START
  96.             }
  97.         if PROC[CTR] = ("") do
  98.             {
  99.             PROC_DATE[CTR] = (0)
  100.             PROC_OP[CTR] = ("")
  101.             PROC_DOC[CTR] = ("")
  102.             PROC_DONE[CTR] = ("")
  103.             }
  104.         }
  105.     if PROC_REF = (0) goto START
  106.     PROC_REF = (RECORD.NUMBER)
  107.     if PROC_REF = (0) goto START
  108.     save(PROCEDE|Y|Y|)
  109.     MEM_DOC = ("")
  110.     goto START
  111. DEL_RECS:
  112.     del(PROCEDE|Y|)
  113.     goto START
  114. CLR_RECS:
  115.     MEM_DOC = ("")
  116.     clr(PATIENT|B)
  117.     clr(PROCEDE|B)
  118.     goto START
  119. EXIT:
  120.     if PROC[1] = ("") goto RUNPATREC
  121.     for(CTR|1|6|1)
  122.         {
  123.         if PROC[CTR] = ("") do
  124.             {
  125.             PROC_DATE[CTR] = (0)
  126.             PROC_OP[CTR] = ("")
  127.             PROC_DOC[CTR] = ("")
  128.             PROC_DONE[CTR] = ("")
  129.             }
  130.         }
  131.     if PROC_REF > (0) then save(PROCEDE|N|Y)
  132. RUNPATREC:
  133.     run("FAPPOFF")
  134. LINE:
  135.     for(CTR2|1|6|1)
  136.         {
  137.         if PROC[CTR2] = ("") do
  138.             {
  139.             if CTR2 = (6) do
  140.                 {
  141.                 pops
  142.                 goto SATRT3
  143.                 }
  144.             ret
  145.             }
  146.         }
  147.     CTR = (2)
  148.     if PROC_DATE[1] = (TD) do
  149.         {
  150.         for(CTR3|1|6|1)
  151.             {
  152.             enter(PROC_DONE[CTR3]|" Y"|||Y|Y|N|||N)
  153.             }
  154.         pops
  155.         goto SAVE_RECS
  156.         }
  157.     for(CTR2|1|5|1)
  158.         {
  159.         PROC[CTR2] = (PROC[CTR])
  160.         PROC_DATE[CTR2] = (PROC_DATE[CTR])
  161.         PROC_OP[CTR2] = (PROC_OP[CTR])
  162.         PROC_DOC[CTR2] = (PROC_DOC[CTR])
  163.         PROC_DONE[CTR2] = (PROC_DONE[CTR])
  164.         CTR = (CTR+1)
  165.         }
  166.     PROC[6] = ("")
  167.     PROC_DATE[6] = (0)
  168.     PROC_OP[6] = ("")
  169.     PROC_DOC[6] = ("")
  170.     PROC_DONE[6] = ("")
  171.     PROC_EX[6] = ("")
  172.     goto LINE
  173.     ret
  174. UPARROW:
  175.     CTR2 = (CTR2-1)
  176.     CTR = (CTR2)
  177.     ret
  178. STARTAGAIN:
  179.     trap(%|I)
  180.     trap(Q|G|EXITX)
  181.     trap(U|I)
  182.     saves(1)
  183.     window(20|15|5|40)
  184.     trap(Q|G|EXITX)
  185.     find(B|HEADING||)
  186.     pmsg("IS IT EMERGENCY:"|1|1|N|N|S|)
  187.     enter(ISIT_EMER|"YN"|||Y|Y|N|20|1|N)
  188.     if ISIT_EMER = ("Y") goto SCR2
  189.     gosub SCREEN2
  190.     CLIN_NUM = (CLIN_NUM)
  191.     pmsg("ENTER SPECIALTY:"|1|2|N|N|S|)
  192.     enter(CLIN_NUM||||N|Y|N|20|2|N)
  193. ADDER:
  194.     REF_COD = (MEM_DOC)
  195.     find(M|REF_COD|EXIT|)
  196.     if ISIT_EMER <> ("Y") do
  197.         {
  198.         CLIN_REF[CLIN_NUM] = (CLIN_REF[CLIN_NUM]+1)
  199.         }
  200.     else
  201.         {
  202.         EMERG_REF[EMERG_NUM] = (EMERG_REF[EMERG_NUM]+1)
  203.         }
  204.     save(REFER|N|Y)
  205.     CLIN_NUM = (0)
  206.     CON_NUM = (0)
  207.     EMERG_NUM = (0)
  208.     ISIT_EMER = ("")1
  209.     redsp(1)
  210.     trap(%|D)
  211.     trap(U|D)
  212.     trap(Q|G|EXIT)
  213.     ret
  214. SCREEN2:
  215.     saves(2)
  216.     window(1|25|24|78)
  217.     for(REF_CTR|1|22|1)
  218.         {
  219.         pmsg(@R;REF_CTR;@N;" ";@R;CLINICS[REF_CTR];@N|1|REF_CTR|N|N|S|)
  220.         }
  221.     CON_CTR = (REF_CTR+1)
  222.     for(REF_CTR|1|22|1)
  223.         {
  224.         pmsg(@R;CON_CTR;@N;" ";@R;CLINICS[CON_CTR];@N|25|REF_CTR|N|N|S|)
  225.         CON_CTR = (CON_CTR+1)
  226.         }
  227.     pmsg("ENTER NUMBER:"|60|12|N|N|S|)
  228.     enter(CLIN_NUM||||N|Y|N|65|13|N)
  229.     if CLIN_NUM = (0) reent
  230.     if CLIN_NUM > (44) reent
  231.     redsp(2)
  232.     ret
  233. SCREEN3:
  234.     saves(2)
  235.     window(1|25|24|78)
  236.     for(REF_CTR|1|22|1)
  237.         {
  238.         pmsg(@R;REF_CTR;@N;" ";@R;CLINICS[REF_CTR];@N|1|REF_CTR|N|N|S|)
  239.         }
  240.     CON_CTR = (REF_CTR+1)
  241.     for(REF_CTR|1|22|1)
  242.         {
  243.         pmsg(@R;CON_CTR;@N;" ";@R;CLINICS[CON_CTR];@N|25|REF_CTR|N|N|S|)
  244.         CON_CTR = (CON_CTR+1)
  245.         }
  246.     pmsg("ENTER NUMBER:"|60|12|N|N|S|)
  247.     enter(EMERG_NUM||||N|Y|N|65|13|N)
  248.     if EMERG_NUM = (0) reent
  249.     if EMERG_NUM > (44) reent
  250.     redsp(2)
  251.     ret
  252. SCR2:
  253.     gosub SCREEN3
  254.     EMERG_NUM = (EMERG_NUM)
  255.     pmsg("ENTER SPECIALTY EMERGENCY:"|1|3|N|N|S|)
  256.     enter(EMERG_NUM||||N|Y|N|30|3|N)
  257.     goto ADDER
  258. EXITX:
  259.     run("FAPPOFF")
  260. UPMEMO:
  261.     enter(PROC_DONE[1]|" YNSCRO"|||Y|Y|N|||N)
  262.     enter(PROC_DONE[2]|" YNSCRO"|||Y|Y|N|||N)
  263.     enter(PROC_DONE[3]|" YNSCRO"|||Y|Y|N|||N)
  264.     enter(PROC_DONE[4]|" YNSCRO"|||Y|Y|N|||N)
  265.     enter(PROC_DONE[5]|" YNSCRO"|||Y|Y|N|||N)
  266.     enter(PROC_DONE[6]|" YNSCRO"|||Y|Y|N|||N)
  267.     clrlne(1|22)
  268.     goto START2
  269. START2CL:
  270.     clr(PROCEDE|B)
  271.     goto START2
  272. \STNEW     
  273.  
  274.  
  275.  
  276.  
  277.  
  278.                                  PROCEDURE ENTRY
  279.           ╔═══════════════════════════════════════════════════════════════╗
  280.           ║ &                          <&                     <&         <║
  281.           ║                                                               ║
  282.           ║  Date             Procedure                        Dr Rec Done║
  283.           ║ &         &                                        & &    &   ║
  284.           ║ &         &                                        & &    &   ║
  285.           ║ &         &                                        & &    &   ║
  286.           ║ &         &                                        & &    &   ║
  287.           ║ &         &                                        & &    &   ║
  288.           ║ &         &                                        & &    &   ║
  289.           ╚═══════════════════════════════════════════════════════════════╝
  290.           Esc - Exit and Save V=1 G=2 P=3 N=4 T=5 * for clinic,xray,path
  291.               Y=DONE S=SEE DR C=COL.SCRPT R=REPEAT O=OTHER N=NORMAL
  292.  
  293.  
  294.  
  295.  
  296.  
  297. \
  298. PATIENT.NAME
  299. ADDRESS1
  300. DATE.OF.BIRTH
  301. PROC_DATE[1]
  302. PROC[1]
  303. PROC_DOC[1]
  304. PROC_OP[1]
  305. PROC_DONE[1]
  306. PROC_DATE[2]
  307. PROC[2]
  308. PROC_DOC[2]
  309. PROC_OP[2]
  310. PROC_DONE[2]
  311. PROC_DATE[3]
  312. PROC[3]
  313. PROC_DOC[3]
  314. PROC_OP[3]
  315. PROC_DONE[3]
  316. PROC_DATE[4]
  317. PROC[4]
  318. PROC_DOC[4]
  319. PROC_OP[4]
  320. PROC_DONE[4]
  321. PROC_DATE[5]
  322. PROC[5]
  323. PROC_DOC[5]
  324. PROC_OP[5]
  325. PROC_DONE[5]
  326. PROC_DATE[6]
  327. PROC[6]
  328. PROC_DOC[6]
  329. PROC_OP[6]
  330. PROC_DONE[6]
  331. \
  332.  
  333.